//
//$Id: generic_ga.h 339 2010-02-28 13:20:14Z Oleg.Bulychov $
#pragma once

#include "projects/generic/generic.h"
#include "solvers/ga/ga_common.h"

//__________________________________________________________________________________
//__________________________________________________________________________________
template<>
struct solution<Generic_Solution, ga_tag>:
    public Generic_Solution
{
public:
    mutable double wheel_sector_;

    template<class E>
    void cross(E* env, uniform_random& rnd, solution<Generic_Solution, ga_tag>& genome)
    {
        changed_ = genome.changed_ = true;
    }

    template<class E>
    void mutate(E* env, uniform_random& rnd, double mutationProbability)
    {
        changed_ = true;
    }

    TCostType get_Fitness() const { return get_Cost(); }
};
//__________________________________________________________________________________

//EOF!
